<template>
	<view class="container">
		<view class="form">
			<view class="title">登录</view>
			<input class="input" v-model="username" type="text" placeholder="请输入用户名" />
			<input class="input" v-model="password" type="password" placeholder="请输入密码" />
			<button class="btn" type="primary" @click="handleLogin">登录</button>
			<view class="bottom">
				<text>没有账号?</text>
				<navigator class="register-link" url="/pages/register/register">去注册</navigator>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				username: '',
				password: '',
				fromPage: '' // 记录来源页面
			}
		},
		onLoad(options) {
			console.warn('---onload:' + JSON.stringify(options));
			this.username = options.username || '';
			this.fromPage = options.from || ''; // 获取来源页面参数
		},
		methods: {
			handleLogin() {
				if (!this.username || !this.password) {
					uni.showToast({
						title: '请输入完整信息',
						icon: 'none'
					})
					return
				}

				uni.showLoading({
					title: '登陆中...'
				})

				// 模拟登录成功（实际项目中替换为真实接口请求）
				setTimeout(() => {
					uni.hideLoading()

					// 保存用户信息到缓存
					const userInfo = {
						nickname: this.username
					}; // 模拟用户信息
					uni.setStorageSync('userInfo', userInfo);

					uni.showToast({
						title: '登陆成功'
					})

					// 根据来源页面决定跳转方式
					if (this.fromPage === 'mine') {
						// 从“我的”页面跳转来的，返回上一页并刷新
						uni.navigateBack({
							delta: 1
						});
					} else {
						// 其他情况，切换到“我的”标签页
						uni.switchTab({
							url: "/pages/xinwen/MinePage/MinePage" // 你的实际“我的”页面路径
						})
					}
				}, 1000)
			}
		}
	}
</script>

<style>
	.container {
		height: 550px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #f5f5f5;
	}

	.form {
		width: 90%;
		padding: 20px;
		max-width: 300px;
		border-radius: 8px;
		background-color: white;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	}

	.title {
		text-align: center;
		margin-bottom: 20px;
		font-size: 24px;
		color: #333;
	}

	.input {
		display: block;
		width: 90%;
		padding: 10px;
		margin-bottom: 15px;
		border-radius: 4px;
		border: 1px solid #ccc;
		font-size: 16px;
	}

	.btn {
		display: block;
		width: 100%;
		color: white;
		background-color: #007aff;
		border: none;
		border-radius: 4px;
		font-size: 18px;
		cursor: pointer;
		margin-top: 20px;
	}

	.btn:hover {
		background-color: #0056b3;
	}

	.bottom {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 20px;
		font-size: 14px;
		color: #666;
	}

	.register-link {
		color: #007bff;
		cursor: pointer;
	}
</style>